Ruby - overriding/enabling multiple assignment (e.g. `a, b, c = d, e, f`)
Posted
by
nicholaides
on Stack Overflow
See other posts from Stack Overflow
or by nicholaides
Published on 2010-12-28T02:53:43Z
Indexed on
2010/12/28
3:54 UTC
Read the original article
Hit count: 155
ruby
In ruby, you can do this:
d = [1, 2, 3]
a, b, c = d
a, b, and c, will receive the values 1, 2, and 3, respectively.
d, in this case in an Array and ruby knows to assign it's contents to a, b, and c. But, if d were a Fixnum, for example, only a would be assigned to the value of d while b and c would be assigned nil.
What properties of d allow it to be used for multiple assignment? In my exploring so far, I've only been able to make instances of subclasses of Array behave in this way.
© Stack Overflow or respective owner